/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.uca.sisbec.helpers.manto;

import com.uca.sisbec.forms.manto.UniversidadForm;
import com.uca.sisbec.mapping.Universidad;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Expression;

/**
 *
 * @author Susy
 */
public class UniversidadHelper {
 
     private Session session;
     
     public UniversidadHelper(Session session){
         this.session=session;
     }
     
     public List<Universidad> getAllUniversidades(){
        List<Universidad> allUniversidades;
        Query queryResult = session.createQuery("From Universidad");
        allUniversidades = new ArrayList<Universidad>(queryResult.list());
        return allUniversidades;
    }
    
      public List<Universidad> getUniversidadesActivas(){
        List<Universidad> allUniversidades;
        Query queryResult = session.createQuery("From Universidad where estado='A'");
        allUniversidades = new ArrayList<Universidad>(queryResult.list());
        return allUniversidades;
    }
     
    public boolean ExisteCodUniversidad(UniversidadForm uf){
        Criteria crit = session.createCriteria(Universidad.class);
        crit= crit.add(Expression.like("idUniv", uf.getIdUniversidad()));
        List<Universidad> listUniversidades = new ArrayList<Universidad>(crit.list());
        if(listUniversidades.size()>0){
            return true;
        }else{
            return false;
        }
    }

    public void InsertarUniversidadDB(UniversidadForm uf) {
        Universidad uni = new Universidad();
        uni.setNombre(uf.getNombre());
        uni.setFormatoCarnet(uf.getFormatoCarnet());
        uni.setEstado(uf.isEstado()?"A":"I");
        session.save(uni);
    }

    public void InhabilitarUniversidadDB(int cod) {
        Universidad uni = (Universidad) session.get(Universidad.class,cod);
        uni.setEstado("I");
        session.update(uni);
    }

    public void HabilitarUniversidadDB(int cod) {
        Universidad uni = (Universidad) session.get(Universidad.class,cod);
        uni.setEstado("A");
        session.update(uni);
    }
    
    public Universidad GetUCA(){
        
        String hql = "From Universidad";
        Query query = session.createQuery(hql);
        query.setFirstResult(1);
        query.setMaxResults(1);
        return (Universidad) query.uniqueResult();
    }
    
}
